/**
 * 参数控制面板:反应时间
 */
$(".point-layout").draggable();

/**
 * 以下都是ID
 * 
 * ppt-picker：当前PPT颜色选择器<br>
 * has-answer：当前PPT是否有答案 yes:存在 no:无<br>
 * right-condition：在has-answer为yes的条件下激活，正确的条件：key
 * 手动输入，left-mouse左击，right-mouse右击<br>
 * ppt-key-right：手动输入的正确答案（数字或者字母） 
 * ppt-showtime:显示时间 单位：ms<br>
  when-condition：none 无; wrong错误 right正解<br>
 * right-jump-to 正确跳转到：第几页PPT 无：none 前提：when-condition处于激活状态<br>
 * wrong-jump-to 错误跳转到：第几页PPT 无：none 
 * record 记录：none 无 mouse 鼠标  keyborad键盘  both 两者<br>
 * showinput 显示输入：no 无 yes 是<br>
 * reaction-time 反应时间：none：无 1st：1st All All;<br>
 * 页面上的跳转信息：<br>
 * jump-on-web：开关<br>
 * ppt-repeat-from：跳转开始页<br>
 * ppt-repeat-to:跳转最终页<br>
 * ppt-repeat-method：播放方式<br>
 * ppt-repeat-times：重复次数 /** ppt颜色
 */
$('#ppt-picker').colorpicker({
	size : 20,
	label : '背景颜色：  ',
	hide : true
});
$('#ppt-picker').change(function() {
	var color = "#" + this.value;
	
	//第一页 textarea
	if(ppt.curNO==0){
		$(".c-content .textarea-intr").css("background-color", color);
	}
	else{
		$(".c-content").css("background-color", color);
	}
	
	updateThisPPTInfo();
});

// 当前PPT是否有答案
$("#has-answer").change(function() {
	var val = this.value;
	if (val == "yes") {
		$("#right-condition").attr("disabled", false);
		$("#when-condition").attr("disabled", false);
		
		//当前选定为手动输入
		if($("#right-condition").val()=="key"){
			$("#ppt-key-right").attr("disabled", false);
		}
	} else {
		$("#right-condition").attr("disabled", true);
		$("#when-condition").attr("disabled", true);
		// 关闭手动输入
		$("#ppt-key-right").attr("disabled", true);
	}

	updateThisPPTInfo();
});

$("#right-condition").change(function() {
	var val = this.value;
	// 前提：有答案   &&  手动输入答案开启
	if (val == "key" && $("#has-answer").val()=="yes") {
		$("#ppt-key-right").attr("disabled", false);
	} else {
		$("#ppt-key-right").attr("disabled", true);
	}

	updateThisPPTInfo();
});

$("#end-condition").click(function() {
	updateThisPPTInfo();
});

// 当
$("#when-condition").click(
		function() {
			var val = this.value;
			if (val == "none") {
				$("#jump-to").attr("disabled", true);
			} else {
				$("#jump-to").attr("disabled", false);
				// 动态生成
				$("#jump-to option").remove();

				if (ppt.NO == 1) {
					$("#jump-to").prepend(
							"<option value='0'>当前</option>");
					//$("#jump-to").attr("disabled", true);
					updateThisPPTInfo();
					return;
				}

				$("#jump-to option").remove();
				for ( var i = ppt.NO - 1; i >= 0; i--) {
					$("#jump-to").prepend(
							"<option value='" + i + "'>第 " + (i + 1)
									+ " 张</option>");
				}
				$("#jump-to").prepend("<option value='none'>无</option>");

				// 恢复信息
				if (val == "wrong") {
					var wrong_jump_to = $("#ppt-info").attr("wrong-jump-to");
					if (wrong_jump_to == undefined) {
						$("#jump-to").val("none");
					} else {
						$("#jump-to").val(wrong_jump_to);
					}
				} else if (val == "right") {
					var right_jump_to = $("#ppt-info").attr("right-jump-to");
					if (right_jump_to == undefined) {
						$("#jump-to").val("none");
					} else {
						$("#jump-to").val(right_jump_to);
					}
				}
			}
			updateThisPPTInfo();
		});

$("#jump-to").click(function() {
	updateThisPPTInfo();
});

$("#record").click(function() {
	updateThisPPTInfo();
});

$("#showinput").click(function() {
	updateThisPPTInfo();
});

$("#reaction-time").click(function() {
	updateThisPPTInfo();
});

// 页面上的跳转模块: 从..到....
$("#ppt-repeat-from").change(
		function() {
			if (this.value == "none") {
				$("#ppt-repeat-to").val("none");
				return;
			}

			var val = parseInt(this.value);
			var lastVal = parseInt($("#ppt-repeat-from option:last").val());

			if (val <= lastVal) {
				$("#ppt-repeat-to option").remove();
				for ( var i = lastVal; i >= val; i--) {
					$("#ppt-repeat-to").prepend(
							"<option value='" + i + "'>第 " + (i + 1)
									+ " 张</option>");
				}
				$("#ppt-repeat-to").prepend("<option value='none'>无</option>");
			}

		});

$("#ppt-repeat-from").click(function() {
	if (this.value == "none") {
		$("#ppt-repeat-to").val("none");
	} else {
		var valTo = $("#ppt-repeat-to").val();
		if (valTo == "none") {
			$("#ppt-repeat-to").val(this.value);
		}
	}
	updateRepeatInfo();
});

// 跳转到
$("#ppt-repeat-to").click(function() {
	if (this.value == "none") {
		$("#ppt-repeat-from").val("none");
	}
	updateRepeatInfo();
});
// 重复方式
$("#ppt-repeat-method").click(function() {
	updateRepeatInfo();
});

// 重复次数
$("#ppt-repeat-times").keyup(function() {
	var val = this.value;

	// 是一个有效的数字
	if (!isNaN(val)) {
		val = parseInt(val);
		if (val < 1) {
			this.value = 1;
		}
	} else {
		this.value = 1;
	}
	updateRepeatInfo();
});

$("#ppt-repeat-times").blur(function() {
	var val = this.value;
	if (val == "") {
		this.value = "1";
	}
});

/**
 * 激活 网页上的跳转
 */
$("#jump-on-web").click(function() {
	var check = $(this).attr("checked");
	if (check == "checked" || check == true) {
		$("#repeat-info").attr("active", "on");

		$("#ppt-repeat-span select").attr("disabled", false);
		$("#ppt-repeat-times").attr("disabled", false);
		$("#when-condition").attr("disabled", true);
		$("#jump-to").attr("disabled", true);
	} else {
		$("#repeat-info").attr("active", "off");

		$("#ppt-repeat-span select").attr("disabled", true);
		$("#ppt-repeat-times").attr("disabled", true);
		$("#when-condition").attr("disabled", false);
		if ($("#when-condition").val() != "none" && ppt.NO != 1) {
			$("#jump-to").attr("disabled", false);
		}
	}
	updateRepeatInfo();
});

/**
 * ppt增加时执行的变化
 */
function pptChange() {
	//$("#when-condition").trigger("click");

	initSelector();

}

/**
 * 因为PPT张数变了 初始化相关选项
 */
function initSelector() {
	$("#ppt-repeat-from option").remove();
	$("#ppt-repeat-to option").remove();
	$("#jump-to option").remove();

	for ( var i = ppt.NO - 1; i >= 0; i--) {
		$("#ppt-repeat-from").prepend(
				"<option value='" + i + "'>第 " + (i + 1) + " 张</option>");
		$("#ppt-repeat-to").prepend(
				"<option value='" + i + "'>第 " + (i + 1) + " 张</option>");
		$("#jump-to").prepend(
				"<option value='" + i + "'>第 " + (i + 1) + " 张</option>");
	}
	$("#ppt-repeat-from").prepend("<option value='none'>无</option>");
	$("#ppt-repeat-to").prepend("<option value='none'>无</option>");
	$("#jump-to").prepend("<option value='none'>无</option>");
	
	initPointLaout();
}

/**
 * 属性框 将参数更新到当前PPT的DIV
 */
function updateThisPPTInfo() {
	$("#ppt-info").attr("bg", $("#ppt-picker").val());
	$("#ppt-info").attr("has-answer", $("#has-answer").val());
	$("#ppt-info").attr("right-condition", $("#right-condition").val());
	$("#ppt-info").attr("ppt-showtime", $("#ppt-showtime").val());
	$("#ppt-info").attr("end-condition", $("#end-condition").val());
	$("#ppt-info").attr("when-condition", $("#when-condition").val());
	// 记录错误时的跳转
	if ($("#when-condition").val() == "wrong") {
		$("#ppt-info").attr("wrong-jump-to", $("#jump-to").val());
		if ($("#ppt-info").attr("right-jump-to") == undefined) {
			$("#ppt-info").attr("right-jump-to", "none");
		}
	}
	// 记录正确时的跳转
	else if ($("#when-condition").val() == "right") {
		$("#ppt-info").attr("right-jump-to", $("#jump-to").val());
		if ($("#ppt-info").attr("wrong-jump-to") == undefined) {
			$("#ppt-info").attr("wrong-jump-to", "none");
		}
	}
	
	$("#ppt-info").attr("ppt-key-right", $("#ppt-key-right").val());
	$("#ppt-info").attr("record", $("#record").val());
	$("#ppt-info").attr("showinput", $("#showinput").val());
	$("#ppt-info").attr("reaction-time", $("#reaction-time").val());
	
	//更新到PPT容器里去
	ppt.show(ppt.curNO);
}

/**
 * 更新网页上的跳转信息到Info中
 */
function updateRepeatInfo() {
	$("#repeat-info").attr("repeat-from", $("#ppt-repeat-from").val());
	$("#repeat-info").attr("repeat-to", $("#ppt-repeat-to").val());
	$("#repeat-info").attr("repeat-method", $("#ppt-repeat-method").val());
	$("#repeat-info").attr("repeat-times", $("#ppt-repeat-times").val());
}

/**
 * ppt切换时,读取相应的参数到layout中
 */
function initPointLaout() {
	var bg = $("#ppt-info").attr("bg");

	if (bg == undefined) {
		// 设置默认颜色
		bg = "FFFFFF";
		$("#ppt-picker").val(bg);
		$(".c-content").css("background-color", "#" + bg);
		$(".colorpicker-trigger").css("background-color", "#" + bg);

		$("#has-answer").val("none");
		$("#right-condition").attr("disabled", true);
		$("#right-condition").val("left-mouse");
		$("#ppt-key-right").attr("disabled", true);
		$("#ppt-key-right").val("");
		$("#ppt-showtime").val("0");
		$("#end-condition").val("enter");
		$("#when-condition").attr("disabled", true);
		$("#when-condition").val("none");
		$("#jump-to").val("none");
		$("#jump-to").attr("disabled", true);
		$("#record").val("none");
		$("#showinput").val("no");
		$("#reaction-time").val("none");
	}
	// 该PPT下已经有相关属性
	else {
		$("#ppt-picker").val(bg);
		$(".c-content").css("background-color", "#" + bg);
		$(".colorpicker-trigger").css("background-color", "#" + bg);

		var has_answer = $("#ppt-info").attr("has-answer");
		if (has_answer == "no") {
			$("#right-condition").attr("disabled", true);
		} else {
			$("#right-condition").attr("disabled", false);
		}
		var right_condition = $("#ppt-info").attr("right-condition");
		var ppt_key_right = $("#ppt-info").attr("ppt-key-right");
		var ppt_showtime = $("#ppt-info").attr("ppt-showtime");
		var end_condition = $("#ppt-info").attr("end-condition");
		var when_condition = $("#ppt-info").attr("when-condition");
		if (when_condition == "none") {
			$("#jump-to").attr("disabled", true);
		} else {
			$("#jump-to").attr("disabled", false);
		}
		var wrong_jump_to = $("#ppt-info").attr("wrong-jump-to");
		var right_jump_to = $("#ppt-info").attr("right-jump-to");
		var record = $("#ppt-info").attr("record");
		var showinput = $("#ppt-info").attr("showinput");
		var reaction_time = $("#ppt-info").attr("reaction-time");

		$("#has-answer").val(has_answer);
		$("#right-condition").val(right_condition);
		if(right_condition=="key" && has_answer=="yes"){
			$("#ppt-key-right").attr("disabled", false);
		}
		else{
			$("#ppt-key-right").attr("disabled", true);
		}
		$("#ppt-key-right").val(ppt_key_right);
		$("#ppt-showtime").val(ppt_showtime);
		$("#end-condition").val(end_condition);
		$("#when-condition").val(when_condition);
		// 错误跳转
		if (when_condition == "wrong") {
			$("#jump-to").val(wrong_jump_to);
		} else if (when_condition == "right") {
			$("#jump-to").val(right_jump_to);
		}
		$("#record").val(record);
		$("#showinput").val(showinput);
		$("#reaction-time").val(reaction_time);
	}
}

/**
 * 手动输入答案(只能数字或者字母)
 */
function checkPptKeyRight(val) {
	val = val.trim();

	// 是数字 包括负数
	if (!isNaN(val)) {
		// 更新到属性到中
		$("#ppt-info").attr("ppt-key-right", val);
		return;
	}

	for ( var i = 0; i < val.length; i++) {
		var kc = atoi(val[i]);
		// 32是空格
		if ((48 <= kc && kc <= 57) || (65 <= kc && kc <= 90) || kc == 32
				|| (97 <= kc && kc <= 122)) {

		} else {
			alert("您的输入不符合要求，只能数字或者单词");
			$("#ppt-key-right").val("");
			$("#ppt-info").attr("ppt-key-right", "");
			return;
		}
	}
	// 更新到属性到中
	$("#ppt-info").attr("ppt-key-right", val);
}

/**
 * 显示时间输入的必是整数 且大于0
 * 
 * @param val
 */
function checkInputTime(obj) {
	var val = obj.value;

	if (!isNaN(val) && parseInt(val) >= 0) {
		obj.value = parseInt(val);// 转化为整型
		updateThisPPTInfo();
	} else {
		obj.value = "0";
	}

}
/**
 * int >=0
 * 
 * @param obj
 */
function checkXY(obj) {
	var val = obj.value;

	if (!isNaN(val) && parseInt(val) >= 0) {
		obj.value = parseInt(val);// 转化为整型
	} else {
		obj.value = "0";
	}
}

// 检查 宽度 和 长度 默认100
// 不能大于PPT的长 宽
function checkWidthHeight(obj, wh) {
	var val = obj.value;

	if (!isNaN(val) && parseInt(val) >= 0) {
		val = parseInt(val);// 转化为整型
		// 宽
		if (wh == "W" && val > pptWidth) {
			obj.value = pptWidth;
			return;
		}

		if (wh == "H" && val > pptHeight) {
			obj.value = pptHeight;
			return;
		}

	} else {
		obj.value = "100";
	}
}

/**
 * 字体大小
 * 
 * @param obj
 */
function checkTextSize(obj) {
	var val = obj.value;

	if (!isNaN(val) && parseInt(val) >= 0) {
		obj.value = parseInt(val);// 转化为整型
	} else {
		obj.value = "20";
	}
}

$(document).click().mouseup(function(){
    //更新
    ppt.reSave();
});

$(document).ready(function() {
	initSelector();
});
